﻿

#region using namespace

using System;
using System.Collections.Generic;
using System.Linq;
using DTO;

#endregion

namespace DAO
{
    public class TuKhoaQuanHuyenDAO
    {
        // tim tu khoa quan huyen dua vao ma tu khoa quan huyen.
        public List<TuKhoaQuanHuyenDTO> Search(string strInput)
        {
            TuKhoaQuanHuyenDTO tukhoaQuanHuyenDTO = null;
            strInput = strInput.Replace(@"'", @"''");
            List<TuKhoaQuanHuyenDTO> lsttukhoaquanhuyen = getAllTuKhoaQuanHuyen();

            List<TuKhoaQuanHuyenDTO> ilsttukhoaquanhuyen = new List<TuKhoaQuanHuyenDTO>();
         
            foreach (TuKhoaQuanHuyenDTO tukhoa in lsttukhoaquanhuyen)
            {
                if (strInput.Contains(tukhoa.TuKhoaQuanHuyen) || tukhoa.TuKhoaQuanHuyen.Contains(strInput))
                {
                    tukhoaQuanHuyenDTO = new TuKhoaQuanHuyenDTO();

                    tukhoaQuanHuyenDTO.MaTuKhoaQuanHuyen = tukhoa.MaTuKhoaQuanHuyen;
                    tukhoaQuanHuyenDTO.MaQuanHuyen = tukhoa.MaQuanHuyen;
                    tukhoaQuanHuyenDTO.TuKhoaQuanHuyen = tukhoa.TuKhoaQuanHuyen;

                    ilsttukhoaquanhuyen.Add(tukhoaQuanHuyenDTO);
                }
            }
                
            return ilsttukhoaquanhuyen;
        }

        //lay tat ca cac thuoc tinh cua bang tu khoa quan huyen.
        public static List<TuKhoaQuanHuyenDTO> getAllTuKhoaQuanHuyen()
        {
            IList<TUKHOAQUANHUYEN> ilsttkquanhuyen;
            List<TuKhoaQuanHuyenDTO> lsttkquanhuyen = new List<TuKhoaQuanHuyenDTO>();
            TuKhoaQuanHuyenDTO tkquanhuyenDTO = null;

            using (var context = new DataContext(GlobalDatabase.ConnectString))
            {
                ilsttkquanhuyen = (from tkquanhuyen in context.TUKHOAQUANHUYENs select tkquanhuyen).ToList();
            }

            for (int i = 0; i < ilsttkquanhuyen.Count; i++)
            {
                tkquanhuyenDTO = new TuKhoaQuanHuyenDTO();

                tkquanhuyenDTO.MaQuanHuyen = (int)ilsttkquanhuyen[i].MaQuanHuyen;
                tkquanhuyenDTO.TuKhoaQuanHuyen = ilsttkquanhuyen[i].TuKhoaQuanHuyen1;
                tkquanhuyenDTO.MaTuKhoaQuanHuyen = ilsttkquanhuyen[i].MaTuKhoaQuanHuyen;

                lsttkquanhuyen.Add(tkquanhuyenDTO);
            }

            return lsttkquanhuyen;
        }
    }
}
